/*
 * Copyright (C) 2014 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.app;

import android.content.Intent;
import android.content.pm.IPackageInstallObserver2;
import android.os.Bundle;

/** {@hide} */
public class PackageInstallObserver {
    private final IPackageInstallObserver2.Stub mBinder = new IPackageInstallObserver2.Stub() {
        @Override
        public void onUserActionRequired(Intent intent) {
            PackageInstallObserver.this.onUserActionRequired(intent);
        }

        @Override
        public void onPackageInstalled(String basePackageName, int returnCode,
                String msg, Bundle extras) {
            PackageInstallObserver.this.onPackageInstalled(basePackageName, returnCode, msg,
                    extras);
        }
    };

    /** {@hide} */
    public IPackageInstallObserver2 getBinder() {
        return mBinder;
    }

    public void onUserActionRequired(Intent intent) {
    }

    /**
     * This method will be called to report the result of the package installation attempt（尝试）.
     *将调用此方法来报告软件包安装尝试的结果。
     * @param basePackageName Name of the package whose installation was attempted
     * @param extras If non-null, this Bundle contains extras providing additional information about an install failure.
     *               如果非null，则此Bundle包含提供有关安装失败的附加信息的附加信息。
     *               See {@link android.content.pm.PackageManager} for documentation about which extras apply to various failures;
     *               请参阅{@link android.content.pm。 打包管理器}，了解哪些附加软件适用于各种故障;
     *               in particular the strings named EXTRA_FAILURE_*
     *               //extra failure
     *               特别是名为EXTRA FAILURE的字符串
     *               *.
     * @param returnCode The numeric success or failure code indicating the basic outcome
     *                   指示基本结果的数字成功或失败代码
     * @hide
     */
    public void onPackageInstalled(String basePackageName, int returnCode, String msg,
            Bundle extras) {
    }
}
